***** 2018 Milletvekili Genel ve Cumhurbaşkanlığı Seçimlerinde Elit Karşıtı Tutumlar ve Seçmen Davranışı İlişkisi *********
***** Mert Moral, Yasemin Tosun ve Şeyma Topçu ****************************************************************************
***** Yineleme Kodları ****************************************************************************************************

* CSES Module 5 (Versiyon 4 - 1 Mart 2022) veriseti şu adresten indirilmelidir: https://cses.org/data-download/cses-module-5-2016-2021/
* Global Party Survey (Versiyon 3 - 2019) veriseti şu adresten indirilmelidir: https://doi.org/10.7910/DVN/WMGTNS

use "cses5_4.dta", clear

** Bağımlı ve Bağımsız Değişkenlerin Oluşturulması
* Popülizm Ölçütü
preserve
distinct E1006_NAM
distinct E1004

rename E5020_* E5020_#, addnumber
recode E5020* (99=.a) 
collapse (mean) E5020_*, by(E1004)
gen id=_n
reshape long E5020_, i(id) j(party)
drop if missing(E5020_)
gen populist=E5020_>8
tab populist 
tab populist if E1004=="TUR_2018"
tab E5020_ party if E1004=="TUR_2018"
restore

* Doğrulayıcı Faktör Analizi
drop if E1004!="TUR_2018"
drop *_PT

recode E3004* (5=1) (4=2) (2=4) (1=5) (7/8=.a) 	/* Tamamen katılıyorum=5, hiç katılmıyorum=1 */
recode E3007 (4=1) (3=2) (2=3) (1=4) (7/8=.a)	/* Çok yaygın=4, çok nadir=1 */

alpha E3004* E3007, std item					/* Negatif, pozitif sorular. Maddeler arası korelasyon ve ölçek güvenilirliği   */
recode E3004_3 (5=1) (4=2) (2=4) (1=5)			/* Aynı yönde kodlama */
alpha E3004* E3007, std item

factor E3004* E3007, ipf						/* Doğrulayıcı faktör analizi */
predict f1_v2									/* Tüm değişkenler, sağlamlık analizi */
mat l_v2=e(L)[1..., 1..1]

factor E3004_2-E3004_4 E3004_6 E3004_7, ipf		/* Yalnız yüksek faktör yükleme skoruna sahip değişkenler */
predict f1										
alpha E3004_2-E3004_4 E3004_6 E3004_7, std item	/* Ölçek güvenilirliğinin yeniden değerlendirilmesi */
mat l=e(L)[1..., 1..1]

lab var E3004_2 `""Çoğu siyasetçi halkı" "umursamamaktadır (E3004_2)""'
lab var E3004_3 `""Çoğu siyasetçi güvenilir" "[değildir] (E3004_3)""'
lab var E3004_4 `""Türkiyenin asıl sorunu" "siyasetçilerdir (E3004_4)""'
lab var E3004_6 `""En önemli siyasi kararları" "siyasetçiler değil halk almalıdır (E3004_6)""'
lab var E3004_7 `""Çoğu siyasetçi sadece zengin ve" "güçlülerin çıkarlarını gözetir (E3004_7)""'

** Şekil 1. Katılımcıların Elit Karşıtı Tutumları
forval i=2/4{
loc label : var lab E3004_`i'
hist E3004_`i' if !missing(f1), d percent xlab(none) xsca(r(1 5)) ylab(0(10)40) xtitle("") ytitle(Yüzde (%)) title(`label', color(gs1) size(small)) name(E3004_`i', replace) nodraw
}
foreach i in 6 7{
loc label : var lab E3004_`i'
hist E3004_`i' if !missing(f1), d percent xlab(5 `""Tamamen" "katılıyorum""' 3 `""Ne katılıyorum" "Ne katılmıyorum""' 1 `""Hiç" "katılmıyorum""') xsca(r(1 5)) ylab(0(10)40) xtitle("") ytitle(Yüzde (%)) title(`label', color(gs1) size(small)) name(E3004_`i', replace) nodraw
}
hist f1, normal percent xlab(-2.5(.5)1.5) xsca(r(-2.8 1.6)) xtitle("Elit Karşıtı Tutumlar", height(4)) ytitle(Yüzde (%)) title(Faktör Skoru, color(gs1) size(small)) ysca(alt) name(factor, replace) nodraw
grc1leg2 E3004_2 E3004_3 E3004_4 E3004_6 E3004_7 factor, legendfrom(factor) loff rows(2) ytol1title name(fig1, replace)
gr export "Graphs/Figure1.jpg", as(jpg) quality(100) replace

** Şekil 2. TBMM'de Temsil Edilen Partilerin Popülizm ve İdeoloji Eksenlerindeki Konumları
preserve
use "Pippa Norris_Global Party Survey/Global Party Survey by Party Stata V2_1_Apr_2020.dta", clear

gen str party_tur="CHP" if Partyname=="Republican People's Party "
replace party_tur="HDP" if Partyname=="People’s Democratic Party"
replace party_tur="MHP" if Partyname=="Nationalist Movement Party"
replace party_tur="AK Parti" if Partyname=="Justice and Development Party"
eststo n1: qui reg V8_Scale V6_Scale
predict yhat1
predict stdp1, stdp

eststo n2: qui reg V8_Scale V4_Scale
predict yhat2
predict stdp2, stdp

forval i=1/2{
gen ub`i'=yhat`i'+1.963*stdp`i'
gen lb`i'=yhat`i'-1.963*stdp`i'
}

est restore n1
local r: di %9.2f sqrt(`e(r2)')
local size: di %9.0f `e(N)'
twoway (scatter V8_Scale V6_Scale, mcolor(gs12%75) msymbol(oh) msize(vsmall)) ///
(scatter V8_Scale V6_Scale if Country=="Turkey", mcolor(gs1%75) msymbol(o) msize(vsmall) mlab(party_tur)) ///
(line yhat1 ub1 lb1 V6_Scale, sort lpattern(solid shortdash shortdash) lcolor(black%60 ..)), ///
xlab(, nogrid) ylab(, nogrid) ysca(off) xtitle("Sosyal Liberalizm (0) - Muhafazakarlık (10) Ölçeği", height(4)) ytitle("Plüralizm (0) - Popülizm (10) Ölçeği") legend(off) ///
text(1 9.25 "r =`r'", size(small)) text(.65 9.175 "N =`size'", size(small)) name(fig2b, replace) nodraw

est restore n2
local r: di %9.2f sqrt(`e(r2)')
local size: di %9.0f `e(N)'
twoway (scatter V8_Scale V4_Scale, mcolor(gs12%75) msymbol(oh) msize(vsmall)) ///
(scatter V8_Scale V4_Scale if Country=="Turkey", mcolor(gs1%75) msymbol(o) msize(vsmall) mlab(party_tur)) ///
(line yhat2 ub2 lb2 V4_Scale, sort lpattern(solid shortdash shortdash) lcolor(black%60 ..)), ///
xlab(, nogrid) ylab(, nogrid) xtitle("Sol (0) - Sağ (10) Ölçeği", height(4)) ytitle("Plüralizm (0) - Popülizm (10) Ölçeği") legend(off) ///
text(1 9.25 "r =`r'", size(small)) text(.65 9.175 "N =`size'", size(small)) name(fig2a, replace) nodraw

grc1leg2 fig2a fig2b, legendfrom(fig2a) loff rows(1) ytol1title name(fig2, replace) note("{it: Kaynak:} Norris, P. (2020). Global Party Survey, 2019. https://doi.org/10.7910/DVN/WMGTNS.") 
gr export "Graphs/Figure2.jpg", as(jpg) quality(100) replace
restore

* Oy Tercihi (Bağımlı Değişkenler)
recode E3013_PR_1 (792001=1 "RTE") (792002=2 "İnce") (792003=3 "Demirtaş") (792005=4 "Akşener") (999997/999999=5 "Oy Kullanmayan") (else=.), gen(vote_pres)
recode E3013_LH_PL (792001=1) (792004=1 "Cumhur") (792002=2) (792005=2) (792006=2 "Millet") (792003=3 "HDP") (999997/999999=4 "Oy Kullanmayan") (else=.), gen(vote_parl)

* Dış Grup Karşıtlığı
recode E3005* (7/8=.a)
alpha E3005*, std item
factor E3005*, ipf
predict f2

* Ulusal Kimlik Yanlılığı	
recode E3006* (1=4) (2=3) (3=2) (4=1) (7/8=.a)
alpha E3006*, std item
factor E3006*, ipf
predict f3

* Eğitim
recode E2003 (96=0 "Eğitim Almamış") (2=1 "İlkokul") (3=2 "Ortaokul/İlköğretim") (4=3 "Lise") (7=4 "Üniversite") (8/9=5 "Yüksek Lisans/Doktora") (97=.a), gen(educ)

* Yaş
recode E2001_Y (9999=.a)
gen age=E5026_3-E2001_Y

* Cinsiyet
recode E2002 (2=1 "Kadın") (1=0 "Erkek"), gen(gender)

* Yerleşim Yeri
recode E2022 (1/2=0 "Kır/Kasaba") (3/4=1 "Şehir"), gen(urban)

* Hanehalkı Büyüklüğü 
recode E2012 (99=.a), gen(hsize)

* Kürtçe Konuşma
recode E2019 (232=1) (else=0), gen(kurdish)

* Sağ-sol Ölçeği
recode E3020 (95/98=.a), gen(lrself)

* Dindarlık
recode E2014 (7/9=.a) (6=5), gen(relig)

* Ekonomik Değerlendirme
recode E3011 (7/8=.a), gen(recon)

* Siyasete İlgi
recode E3001 (7=.a) (4=1) (3=2) (2=3) (1=4), gen(polint)

* AK Parti-MHP Partizanlığı
recode E3024_3 (792001=1) (792004=1 "AKP/MHP") (else=0 "Diğer"), gen(cumhurp)
recode E3024_4 (7/9=.a), gen(pship)
gen cumhurp2=1 if cumhurp==1 & inlist(E3024_4, 1, 2) 
replace cumhurp2=0 if missing(cumhurp2) 

* Değişken Etiketleri
lab var vote_parl "Oy (Milletvekili Seçimi)"
lab var vote_pres "Oy (Cumhurbaşkanlığı Seçimi"
lab var f1 "Elit Karşıtı Tutum (Faktör Skoru)"
lab var f1_v2 "Elit Karşıtı Tutum (Faktör Skoru - Tüm Değişkenler)"
lab var f2 "Dış Grup Karşıtı Tutum (Faktör Skoru)"
lab var f3 "Ulusal Kimlik Yanlısı Tutum (Faktör Skoru)"
lab var educ "Eğitim Seviyesi" 
lab var age "Yaş" 
lab var gender "Cinsiyet (Kadın)" 
lab var urban "Yerleşim Yeri" 
lab var hsize "Hanehalkı Büyüklüğü"
lab var kurdish "Kürt Kökenli" 
lab var lrself "Sol-Sağ Konum" 
lab var relig "Dindarlık" 
lab var recon "Ekonomik Değerlendirme" 
lab var polint "Siyasete İlgi" 
lab var cumhurp2 "AK Parti/MHP'li Seçmen"
save "Yineleme Veriseti.dta", replace

*** Ampirik Analizler
use "Yineleme Veriseti.dta", clear
qui mlogit vote_pres f1 f2 f3 educ age gender urban hsize kurdish lrself relig recon polint cumhurp2 
eststo m1: mlogit vote_parl f1 f2 f3 educ age gender urban hsize kurdish lrself relig recon polint cumhurp2 if e(sample)
estat sum
margins, dydx(*) at((median) educ age gender urban hsize kurdish lrself relig recon polint cumhurp2 (mean) f1 f2 f3) 
margins, at((median) educ age gender urban hsize kurdish lrself relig recon polint cumhurp2 (mean) f2 f3 f1=(-2.6(.25)1.4)) saving(vote_parl, replace)

** Şekil 3. Elit Karşıtlığının Milletvekili Genel Seçimlerinde Oy Verme Davranışına Etkisi
append using vote_parl, gen(reg1)
replace _at=-2.85+_at*.25
replace _at=_at-.03 if _predict==1
replace _at=_at-.01 if _predict==2
replace _at=_at+.01 if _predict==3
replace _at=_at+.03 if _predict==4
twoway ///
(connected _margin _at if _predict==1, lcolor(black) lpattern(solid) mcolor(black) msymbol(o) msize(small) yaxis(1)) ///
(connected _margin _at if _predict==2, lcolor(plb1) lpattern(solid) mcolor(plb1) msymbol(o) msize(small)) ///
(connected _margin _at if _predict==3, lcolor(plg1) lpattern(solid) mcolor(plg1) msymbol(o) msize(small)) ///
(connected _margin _at if _predict==4, lcolor(ply1) lpattern(solid) mcolor(ply1) msymbol(o) msize(small)) ///
(rspike _ci_lb _ci_ub _at if _predict==1, lcolor(black) lpattern(solid) yaxis(1)) ///
(rspike _ci_lb _ci_ub _at if _predict==2, lcolor(plb1) lpattern(solid)) ///
(rspike _ci_lb _ci_ub _at if _predict==3, lcolor(plg1) lpattern(solid)) ///
(rspike _ci_lb _ci_ub _at if _predict==4, lcolor(ply1) lpattern(solid)) ///
(hist f1 if e(sample), percent fcolor(gs12%50) lcolor(white%20) lwidth(thin) yaxis(2) yscale(alt axis(2))), ///
ytitle(Pr(Oy Verme=1)) xtitle("Elit Karşıtı Tutum (Faktör Skoru)") title("") legend(order(1 "Cumhur İttifakı" 2 "Millet İttifakı" 3 "HDP" 4 "Oy Kullanmayan")) ///
ysca(alt axis(2) r(0 10)) ylab(0(2)10, axis(2)) xlab(-2.5(.5)1.5) name(fig3, replace)
gr export "Graphs/Figure3.jpg", as(jpg) quality(100) replace

** Şekil 4. Elit Karşıtı Tutumların Milletvekili Genel Seçimlerinde Oy Verme Davranışına Etkisi
drop if reg1==1
label drop _predict 
eststo m2: mlogit vote_pres f1 f2 f3 c.educ age gender urban hsize kurdish lrself relig recon polint cumhurp2 if e(sample)
margins, dydx(*) at((median) educ age gender urban hsize kurdish lrself relig recon polint cumhurp2 (mean) f1 f2 f3) 
estat sum
margins, at((median) educ age gender urban hsize kurdish lrself relig recon polint cumhurp2 (mean) f2 f3 f1=(-2.6(.25)1.4)) saving(vote_pres, replace)
append using vote_pres, gen(reg2)
replace _at=-2.85+_at*.25
replace _at=_at-.04 if _predict==1
replace _at=_at-.02 if _predict==2
replace _at=_at+.02 if _predict==4
replace _at=_at+.04 if _predict==5
twoway ///
(connected _margin _at if _predict==1, lcolor(black) lpattern(solid) mcolor(black) msymbol(o) msize(small) yaxis(1)) ///
(connected _margin _at if _predict==2, lcolor(plb1) lpattern(solid) mcolor(plb1) msymbol(o) msize(small)) ///
(connected _margin _at if _predict==3, lcolor(plg1) lpattern(solid) mcolor(plg1) msymbol(o) msize(small)) ///
(connected _margin _at if _predict==4, lcolor(pll1) lpattern(solid) mcolor(pll1) msymbol(o) msize(small)) ///
(connected _margin _at if _predict==5, lcolor(ply1) lpattern(solid) mcolor(ply1) msymbol(o) msize(small)) ///
(rspike _ci_lb _ci_ub _at if _predict==1, lcolor(black) lpattern(solid) yaxis(1)) ///
(rspike _ci_lb _ci_ub _at if _predict==2, lcolor(plb1) lpattern(solid)) ///
(rspike _ci_lb _ci_ub _at if _predict==3, lcolor(plg1) lpattern(solid)) ///
(rspike _ci_lb _ci_ub _at if _predict==4, lcolor(pll1) lpattern(solid)) ///
(rspike _ci_lb _ci_ub _at if _predict==5, lcolor(ply1) lpattern(solid)) ///
(hist f1 if e(sample), percent fcolor(gs12%50) lcolor(white%20) lwidth(thin) yaxis(2) yscale(alt axis(2))), ///
ytitle(Pr(Oy Verme=1), height(4)) xtitle("Elit Karşıtı Tutum (Faktör Skoru)") title("") legend(order(1 "R.T.Erdoğan" 2 "M.İnce" 3 "S.Demirtaş" 4 "M.Akşener" 5 "Oy Kullanmayan")) ///
ysca(alt axis(2) r(0 10)) ylab(0(2)10, axis(2)) xlab(-2.5(.5)1.5) name(fig4, replace)
gr export "Graphs/Figure4.jpg", as(jpg) quality(100) replace

** Tablo 1
esttab m1 m2 using "Graphs/Table1.csv", replace b(%10.3f) se stats(ll aic bic N, labels("Log lik." "AIC" "BIC" "N") fmt(3 3 3 0))  ///
starlevels(* 0.1 ** 0.05 *** 0.01) alignment(l) nonote nogaps nonumbers noomit nobase compress substitute(\_ _) fragment ///
mtitle("Milletvekili Seçimi" "Cumhurbaşkanlığı Seçimi") coeflabels(_cons "Sabit") label

*** Ekler
** Ek 1
est restore m1
eststo desc1: estpost tabstat vote_parl if e(sample), stats(mean sd min max N) col(statistics) 
est restore m2
eststo desc2: estpost tabstat vote_pres f1 f2 f3 educ age gender urban hsize polint kurdish lrself relig recon cumhurp2 E3004_2-E3004_4 E3004_6 E3004_7 if e(sample), stats(mean sd min max N) col(statistics) 
esttab desc1 using "Graphs/App1.csv", replace cells("mean(fmt(3)) sd(fmt(3)) min(fmt(3)) max(fmt(3)) count(fmt(0))") collabels("Ortalama" "St. Sapma" "En Küçük" "En Büyük" "N") noobs nonumber label
esttab desc2 using "Graphs/App1.csv", append cells("mean(fmt(3)) sd(fmt(3)) min(fmt(3)) max(fmt(3)) count(fmt(0))") collabels("Ortalama" "St. Sapma" "En Küçük" "En Büyük" "N") noobs nonumber label

** Ek 3
mat lis l_v2
mat lis l

** Ek 4
qui mlogit vote_pres f1_v2 f2 f3 educ age gender urban hsize polint kurdish lrself relig recon cumhurp2
eststo m1_app: mlogit vote_parl f1_v2 f2 f3 educ age gender urban hsize polint kurdish lrself relig recon cumhurp2 if e(sample)
eststo m2_app: mlogit vote_pres f1_v2 f2 f3 educ age gender urban hsize polint kurdish lrself relig recon cumhurp2 if e(sample)

esttab m1_app m2_app using "Graphs/App4.csv", replace b(%10.3f) se stats(ll aic bic N, labels("Log lik." "AIC" "BIC" "N") fmt(3 3 3 0))  ///
starlevels(* 0.1 ** 0.05 *** 0.01) alignment(l) nonote nogaps nonumbers noomit nobase compress substitute(\_ _) fragment ///
mtitle("Milletvekili Genel Seçimi" "Cumhurbaşkanlığı Seçimi") coeflabels(_cons "Sabit") label

** Ek 5
lab drop _all
est restore m1
margins, dydx(f1) at((median) educ age gender urban hsize kurdish lrself relig recon polint cumhurp2 (mean) f2 f3) saving(f1_parl, replace)
margins, dydx(f2) at((median) educ age gender urban hsize kurdish lrself relig recon polint cumhurp2 (mean) f1 f3) saving(f2_parl, replace)
margins, dydx(f3) at((median) educ age gender urban hsize kurdish lrself relig recon polint cumhurp2 (mean) f1 f2) saving(f3_parl, replace)

est restore m2
margins, dydx(f1) at((median) educ age gender urban hsize kurdish lrself relig recon polint cumhurp2 (mean) f2 f3) saving(f1_pres, replace)
margins, dydx(f2) at((median) educ age gender urban hsize kurdish lrself relig recon polint cumhurp2 (mean) f1 f3) saving(f2_pres, replace)
margins, dydx(f3) at((median) educ age gender urban hsize kurdish lrself relig recon polint cumhurp2 (mean) f1 f2) saving(f3_pres, replace)

use f1_parl, clear
append using f2_parl f3_parl
keep _margin _ci_lb _ci_ub
gen oy=mod(_n,4)
recode oy (0=4)
replace oy=oy-.1 if _n<=4
replace oy=oy+.1 if _n>=9
gen id=_n
egen factor=cut(id), gr(3)

twoway ///
(sca _margin oy if factor==0, mcolor(black) msymbol(o) msize(small)) ///
(sca _margin oy if factor==1, mcolor(plb1) msymbol(o) msize(small)) ///
(sca _margin oy if factor==2, mcolor(plg1) msymbol(o) msize(small)) ///
(rspike _ci_lb _ci_ub oy if factor==0, lwidth(thin) lpattern(solid) lcolor(black)) ///
(rspike _ci_lb _ci_ub oy if factor==1, lwidth(thin) lpattern(solid) lcolor(plb1)) ///
(rspike _ci_lb _ci_ub oy if factor==2, lwidth(thin) lpattern(solid) lcolor(plg1)), ///
xlab(1 "Cumhur İttifakı" 2 "Millet İttifakı" 3 "HDP" 4 "Oy Kullanmama") xtitle("") ytitle("Ortalama Marjinal Etki") ///
legend(order(1 "Elit Karşıtlığı" 2 "Dış Grup Karşıtlığı" 3 "Ulusal Kimlik Yanlılığı")) title("Milletvekili Genel Seçimi") name(m1, replace) yline(0, lcolor(red) lpattern(shortdash) lwidth(vthin)) nodraw

use f1_pres, clear
append using f2_pres f3_pres
keep _margin _ci_lb _ci_ub
gen oy=mod(_n,5)
recode oy (0=5)
replace oy=oy-.1 if _n<=5
replace oy=oy+.1 if _n>=11
gen id=_n
egen factor=cut(id), gr(3)

twoway ///
(sca _margin oy if factor==0, mcolor(black) msymbol(o) msize(small)) ///
(sca _margin oy if factor==1, mcolor(plb1) msymbol(o) msize(small)) ///
(sca _margin oy if factor==2, mcolor(plg1) msymbol(o) msize(small)) ///
(rspike _ci_lb _ci_ub oy if factor==0, lwidth(thin) lpattern(solid) lcolor(black)) ///
(rspike _ci_lb _ci_ub oy if factor==1, lwidth(thin) lpattern(solid) lcolor(plb1)) ///
(rspike _ci_lb _ci_ub oy if factor==2, lwidth(thin) lpattern(solid) lcolor(plg1)), ///
xlab(1 "R.T.Erdoğan" 2 "M.İnce" 3 "S.Demirtaş" 4 "M.Akşener" 5 "Oy Kullanmama") xtitle("") ytitle("Ortalama Marjinal Etki") ///
legend(order(1 "Elit Karşıtlığı" 2 "Dış Grup Karşıtlığı" 3 "Ulusal Kimlik Yanlılığı")) title("Cumhurbaşkanlığı Seçimi") name(m2, replace) ysca(alt) yline(0, lcolor(red) lpattern(shortdash) lwidth(vthin)) nodraw

grc1leg2 m1 m2, legendfrom(m1) ring(1) ytol1title ycommon
gr export "Graphs/App5.jpg", as(jpg) quality(100) replace
